{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "from KNN.pca import PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "m=500\n",
    "n=2\n",
    "X=np.empty(shape=(m,n))\n",
    "X[:,0] = np.random.uniform(size=m)\n",
    "X[:,1] =X[:,0] * 0.75 + 0.05 + np.random.normal(size=m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1158d99b0>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110f5b2b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:,0],X[:,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca = PCA(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PCA(1)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.fit(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.40146916e+85, 2.11153904e+86]])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.components_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_reduction=pca.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(500, 1)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_reduction.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_restore=pca.inverse_transform(X_reduction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(500, 2)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_restore.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11a834320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11ac860b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:,0],X[:,1])\n",
    "plt.show()\n",
    "plt.scatter(X_restore[:,0],X_restore[:,1],color='r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1a1cbaa2b0>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11aca26d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "pca = PCA(n_components=1)\n",
    "pca.fit(X)\n",
    "X_transform = pca.transform(X)\n",
    "X_restore = pca.inverse_transform(X_transform)\n",
    "plt.scatter(X[:,0],X[:,1],color='b',alpha=0.5)\n",
    "plt.scatter(X_restore[:,0],X_restore[:,1],color='r',alpha=0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_faces(faces):\n",
    "    fig ,axes = plt.subplots(6,6,figsize=(10,10),\n",
    "                            subplot_kw={'xticks':[],'yticks':[]},\n",
    "                            gridspec_kw=dict(hspace=0.1,wspace=0.1))\n",
    "    for i,ax in enumerate(axes.flat):\n",
    "        ax.imshow(faces[i].reshape(62,47),cmap='bone')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
